<?php
	class LoginController{				
								
		public function DoControll($LoginHandler, $LoginView ){
								
				//En variabel som innehåller den html-kod som skall skriva ut till användaren, standard är att anropa vyn för att få ett inloggninsformulär
				$output = "";											
										
					
				//Kontrollerar om användaren är inloggad				
				if ($LoginHandler->IsLoggedIn()){
					//Kontrollerar om användaren vill logga ut
					if($LoginView->TriedToLogOut()){
						
						//Loggar ut användaren
						$LoginHandler->DoLogout();
						
						//Tar bort eventuell cookie genom att anropa en function i min vy
						if($LoginView->FindCookie()){
							$LoginView->DestroyCookie();
						}
					}
				}
				else{		
					//Om användaren inte är inloggad kontrolleras det om användaren vill logga in
					if($LoginView->TriedToLogIn()){
						//Försöker logga in användaren med de inloggningsuppgifter som har skrivits in
						if($LoginHandler->DoLogin($LoginView->GetUserName(), $LoginView->GetPassword())){
							
							//Kontrollerar om användaren har valt att fortsätta vara inloggad och skapar isåfall en cookie med användarnamn och lösenord
							if($LoginView->KeepLoggedIn()){
								$LoginView->CreateCookie($LoginView->GetUserName(), $LoginView->GetPassword());
							}					
						}
						else{
							//Skriver ut felmeddelande ifall det inte gick att logga in
							$output = $LoginView->CreateLoginBox(LoginView::ERROR_MESSAGE);
							return $output;
						}
					}
				}
				
				if ($LoginHandler->IsLoggedIn()) {
					//Anropar min vy för att få html till ett utloggningsformulär som skall visas för användaren istället för ett inloggninsformulär
					$output = $LoginView->CreateLogoutBox(LoginView::LOGGED_IN_MESSAGE);
				} else {
					//Anropar min vy för att få html till ett inloggninsfomulär
					$output = $LoginView->CreateLoginBox(LoginView::LOGGED_OUT_MESSAGE);
				}
				//Returnerar htmlkod till index
				return $output;
		}		
	}
